import { textFormatter } from 'vue-command'

/**
 * 修复光标位置函数
 * 本函数旨在调整命令行历史记录中的光标位置
 * 当历史记录的最后一个元素为 VueCommandQuery 类型时，将其替换为 'Waiting...' 文本
 * 这有助于提供用户反馈，表明命令行界面正在等待下一条命令的输入
 * @param {Object} history - 命令行历史记录对象，包含历史命令列表
 */
export function useFixCursor(history) {
  // 获取历史记录的长度
  const length = history.value.length
  // 检查历史记录最后一个元素是否为 VueCommandQuery 类型
  if (history.value[length - 1]?.__name === 'VueCommandQuery') {
    // 将最后一个元素替换为格式化后的 'Waiting...' 文本
    history.value.splice(length - 1, 1, textFormatter('Waiting...'))
  }
}
